<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script>

    // 将 excel 格式的时间还原成标准的时间
    function formatExcelDate(numb, format = '/') {
      const time = new Date((numb - 25567) * 24 * 3600000 - 5 * 60 * 10)
      time.setYear(time.getFullYear())
      const year = time.getFullYear() + ''
      const month = time.getMonth() + 1 + ''
      const date = time.getDate() + ''
      if (format && format.length === 1) {
        return year + format + month + format + date
      }
      return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)
    }


    // 思考如何将data中数据转化为最终输出的结果
    const data = [
      {
        入职日期: 44505,
        姓名: "小张",
        工号: "9002",
        手机号: "13800000252",
        转正日期: 44892,
        部门: "总裁办"
      },
      {
        入职日期: 44506,
        姓名: "小李",
        工号: 9006,
        手机号: "13810000512",
        转正日期: 44893,
        部门: "总裁办",
      }

    ]

    // 将data中的数据的key按照改为指定的英文 

    function transZnkeyToEnkey() {
      // 1. 映射对象，根据映射对象找英文的键
      const mapInfo = {
        '入职日期': 'timeOfEntry',
        '手机号': 'mobile',
        '姓名': 'username',
        '转正日期': 'correctionTime',
        '工号': 'workNumber',
        '部门': 'departmentName',
        '聘用形式': 'formOfEmployment'
      }
      // 1. 需要将数据中的中文的键的数据对象一个一个遍历出来
      const result = data.map(item => {
        // console.log(item)
        // Object.keys(item) // ['入职日期','姓名','转正日期','工号','部门','聘用形式','手机号']
        const enObj = {}
        // 2. 根据映射对象, 将中文的 key 转化为英文的 key
        Object.keys(item).forEach(zhKey => {
          // console.log(zhKey)
          const enkey = mapInfo[zhKey]
          if (enkey === 'timeOfEntry' || enkey === 'correctionTime') {
            // 传入 excel 时间表格, 还原成标准的时间格式
            enObj[enkey] = new Date(formatExcelDate(item[zhKey]))
          } else {
            enObj[enkey] = item[zhKey]
          }
        })
        return enObj
      })
      console.log(result, 'result')
    }
    transZnkeyToEnkey()
  </script>
</head>

<body>

</body>

</html>